﻿using System;

namespace Aeon.Framework
{

/// <summary>
/// Interface for spatial components representation and transformation.
/// 
/// </summary>
public interface IVector
    {
    Single X { get; }       // Cartesian X plane component of vector.
    Single Y { get; }       // Cartesian Y plane component of vector.
    Single Z { get; }       // Cartesian Z plane component of vector.

    Double R { get; }       // Polar radius magnitude of vector.
    Double T { get; }       // Polar angle of vector, in radians.

    void ToUnit();
    IVector GetUnit();
    IVector GetNormal();

    IVector GetCartesian();
    IVector GetPolar();
    }


}